import Vue from "vue"
import App from "./App.vue"
import ReconnectingWebSocket from 'reconnecting-websocket'
import * as echarts from 'echarts'

// 全局 WebSocket 实例配置
// const wsUrl = 'ws://192.168.0.90:8080/ws/lineChart' // WebSocket 服务地址
const wsUrl = 'ws://192.168.18.106:8080/ws/lineChart/123' // WebSocket 服务地址
const wsOptions = {
    maxReconnectionDelay: 10000, // 最大重连延迟（毫秒）
    minReconnectionDelay: 1000, // 最小重连延迟
    reconnectionDelayGrowFactor: 1.5, // 延迟增长系数（每次重连间隔 = 上一次 * 系数）
    connectionTimeout: 4000, // 连接超时时间
    reconnectionAttempts: -1, // 最大重连次数（-1 为无限）
}

// 创建全局 WebSocket 实例
Vue.prototype.$ws = new ReconnectingWebSocket(wsUrl, [], wsOptions)

// 全局监听连接状态（可选，用于统一处理连接事件）
Vue.prototype.$ws.onopen = () => {
    console.log('WebSocket 连接成功')
}

Vue.prototype.$ws.onerror = (error) => {
    console.error('WebSocket 错误：', error)
}

Vue.prototype.$ws.onclose = (event) => {
    console.log('WebSocket 连接关闭，准备重连...', event)
}

Vue.prototype.$echarts = echarts

Vue.config.productionTip = false

new Vue({
    render: (h) => h(App),
}).$mount("#app")
